﻿Imports System
Imports System.Attribute
Imports System.Collections
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.Globalization
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Runtime.Serialization
Imports System.Threading
Imports System.Reflection

Namespace sl3core
	Friend Enum ErrorCodes As UInt32
		AccessDenied = 5
		AlreadyExists = &HB7
		Busyt = 170
		E_ABORT = &H80004004
		E_ACCESSDENIED = &H80070005
		E_FAIL = &H80004005
		E_INVALIDARG = &H80070057
		E_NOTIMPL = &H80004001
		E_OUTOFMEMORY = &H8007000E
		Empty = &H10D2
		NotConnected = &H48F
		Pending = &H3E5
		REGDB_E_CLASSNOTREG = &H80040154
		Success = 0
	End Enum
	Public Enum CurveLoopType
		Constant = 0
		Cycle = 1
		CycleOffset = 2
		Oscillate = 3
		Linear = 4
	End Enum
	Public Enum CurveTangent
		Flat = 0
		Linear = 1
		Smooth = 2
	End Enum
	Public Enum PlayerIndex
		One = 0
		Two = 1
		Three = 2
		Four = 3
	End Enum
	Public Enum TargetPlatform
		Unknown = 0
		Windows = 1
		Mac = 2
		IE = 3
		Firefox = 4
		Opera = 5
		Chrome = 6
	End Enum
	<Flags()> _
	 Friend Enum FriendState
		FriendHasVoice = 16
		FriendIsAway = 8
		FriendIsJoinable = 4
		FriendIsOnline = 1
		FriendIsPlaying = 2
		FriendRequestReceivedFrom = 32
		FriendRequestSentTo = 64
		InviteAccepted = 512
		InviteReceivedFrom = 128
		InviteRejected = 1024
		InviteSentTo = 256
	End Enum
	Public Enum GamerPresenceMode
		AtMenu = &H2E
		BattlingBoss = &H22
		ConfiguringSettings = &H33
		CoOpLevel = 11
		CoOpStage = 10
		CustomizingPlayer = &H34
		EditingLevel = &H35
		ExplorationMode = 15
		FoundSecret = &H3A
		GameOver = &H31
		InCombat = &H21
		Level = 9
		None = 0
		PlayingMiniGame = &H39
		PracticeMode = &H11
		StartingGame = &H2F
		TutorialMode = &H15
		WaitingInLobby = &H2B
		WatchingCutScene = &H37
	End Enum
	<Flags()> _
	Friend Enum GamerPrivilegeOptions
		AllowCommunication = 2
		AllowCommunicationFriendsOnly = 4
		AllowNone = 0
		AllowOnlineSessions = 1
		AllowProfileViewing = 8
		AllowProfileViewingFriendsOnly = &H10
		AllowTradeContent = &H80
	End Enum
	Public Enum GamerPrivilegeSetting
		Blocked = 0
		Everyone = 2
		FriendsOnly = 1
	End Enum
	''' <summary>
	''' needs coding
	''' </summary>
	''' <remarks></remarks>
	Public Enum GamerZone
		Outside = 0
		Building = 1
		Inside = 2
	End Enum
	''' <summary>
	''' needs coding
	''' </summary>
	''' <remarks></remarks>
	Public Enum GamerZoneType
		Field = 0
		Mountain = 1
		Forest = 2
		Swamp = 4
		Hills = 8
		Cave = 16

	End Enum
	''' <summary>
	''' needs coding
	''' </summary>
	''' <remarks></remarks>
	Friend Enum KernelReturnCode
		AsyncShutdown = &H80040203
		BeginEndPairDoesNotMatch = &H80040202
		GuideAlreadyVisible = &H80040208
		InviteeNotSignedIn = &H80040212
		NetworkError = &H80040209
		NetworkNotAvailable = &H80040214
		NotInvited = &H80040211
		OutputBufferTooSmall = &H80040200
		PacketQueueFull = &H8004020A
		ProFeatureNotSupported = &H800402205
		ProfileNotPrivileged = &H80040207
		ProfileNotSignedIn = &H80040206
		QualityOfServiceNotComplete = &H80040210
		SessionAlreadyExists = &H8004020B
		SessionFull = &H8004020E
		SessionNotFound = &H8004020C
		SessionNotJoinable = &H8004020D
		StaleSearchResult = &H8004020F
		TitleUpdate = &H80040204
		TooManyPendingAsyncOperations = &H80040201
		TrialMode = &H80040213
	End Enum
	''' <summary>
	''' needs coding
	''' </summary>
	''' <remarks></remarks>
	Friend Enum ManagedCallType
		AsyncOperationCompleted = 3
		Media_ActiveSongChanged = 5
		Media_PlayStateChanged = 6
		NoManagedCall = 1
		RunUnitTestDelegate = 2
	End Enum

End Namespace
Namespace sl3graphics

	Public Enum Blend
		BlendFactor = 14
		BothInverseSourceAlpha = 13
		BothSourceAlpha = 12
		DestinationAlpha = 7
		DestinationColor = 9
		InverseBlendFactor = 15
		InverseDestinationAlpha = 8
		InverseDestinationColor = 10
		InverseSourceAlpha = 6
		InverseSourceColor = 4
		One = 2
		SourceAlpha = 5
		SourceAlphaSaturation = 11
		SourceColor = 3
		Zero = 1
	End Enum
	Public Enum BlendFunction
		Add = 1
		Max = 5
		Min = 4
		ReversedSubtract = 3
		Subtract = 2
	End Enum
	<Flags()> _
	Public Enum BufferUsage
		None = 0
		Points = &H40
		[WriteOnly] = 8
	End Enum
	<Flags()> _
	 Public Enum ClearOptions
		DepthBuffer = 2
		Stencil = 4
		Target = 1
	End Enum
	<Flags()> _
	Public Enum ColorWriteChannels
		All = 15
		Alpha = 8
		Blue = 4
		Green = 2
		None = 0
		Red = 1
	End Enum
	Public Enum CompareFunction
		Always = 8
		Equal = 3
		Greater = 5
		GreaterEqual = 7
		Less = 2
		LessEqual = 4
		Never = 1
		NotEqual = 6
	End Enum
	Public Enum CompilerIncludeHandlerType
		Local = 0
		System = 1
	End Enum
	<Flags()> _
	Public Enum CompilerOptions
		AvoidFlowControl = &H200
		Debug = 1
		ForcePixelShaderSoftwareNoOptimizations = &H80
		ForceVertexShaderSoftwareNoOptimizations = &H40
		None = 0
		NoPreShader = &H100
		NotCloneable = &H800
		PackMatrixColumnMajor = &H10
		PackMatrixRowMajor = 8
		PartialPrecision = &H20
		PreferFlowControl = &H400
		SkipOptimization = 4
		SkipValidation = 2
	End Enum
	Public Enum CubeMapFace
		NegativeX = 1
		NegativeY = 3
		NegativeZ = 5
		PositiveX = 0
		PositiveY = 2
		PositiveZ = 4
	End Enum
	Public Enum CullMode
		None = 0
		CullClockwiseFace = 1
		CullCounterClockwiseFace = 2
	End Enum
	Public Enum DepthFormat
		Depth15Stencil1 = &H38
		Depth16 = &H36
		Depth24 = &H33
		Depth24Stencil4 = 50
		Depth24Stencil8 = &H30
		Depth24Stencil8Single = &H31
		Depth32 = &H34
		Unknown = -1
	End Enum
	Public Enum EffectParameterClass
		MatrixColumns = 3
		MatrixRows = 2
		[Object] = 4
		Scalar = 0
		Struct = 5
		Vector = 1
	End Enum
	Public Enum EffectParameterType
		Bool = 1
		Int32 = 2
		PixelShader = 15
		Sampler = 10
		Sampler1D = 11
		Sampler2D = 12
		Sampler3D = 13
		SamplerCube = 14
		[Single] = 3
		[String] = 4
		Texture = 5
		Texture1D = 6
		Texture2D = 7
		Texture3D = 8
		TextureCube = 9
		VertexShader = &H10
		Void = 0
	End Enum
	Public Enum FillMode
		Point = 1
		Solid = 3
		WireFrame = 2
	End Enum
	<Flags()> _
	Public Enum FilterOptions
		Box = 5
		Dither = &H80000
		DitherDiffusion = &H100000
		Linear = 3
		Mirror = &H70000
		MirrorU = &H10000
		MirrorV = &H20000
		MirrorW = &H40000
		None = 1
		Point = 2
		Srgb = &H600000
		SrgbIn = &H200000
		SrgbOut = &H400000
		Triangle = 4
	End Enum
	Public Enum FogMode
		Exponent = 1
		ExponentSquared = 2
		Linear = 3
		None = 0
	End Enum
	Friend Enum GetShaderValueType
		[Boolean] = 0
		BooleanArray = 8
		Int32 = 1
		Int32Array = 9
		Matrix = 6
		MatrixArray = 12
		MatrixTranspose = 7
		MatrixTransposeArray = 13
		PixelShader = &H10
		[Single] = 2
		SingleArray = 10
		[String] = &H11
		Texture = 14
		Vector2 = 3
		Vector3 = 4
		Vector4 = 5
		VectorArray = 11
		VertexShader = 15
	End Enum
	Public Enum ImageFileFormat
		Bmp = 0
		Dds = 4
		Dib = 6
		Hdr = 7
		Jpg = 1
		Pfm = 8
		Png = 3
		Ppm = 5
		Tga = 2
	End Enum
	Public Enum IndexElementSize
		SixteenBits = 0
		ThirtyTwoBits = 1
	End Enum
	Public Enum MutliSampleType
		EightSamples = 8
		ElevenSamples = 11
		FifteenSamples = 15
		FiveSamples = 5
		FourSamples = 4
		FourteenSamples = 14
		NineSamples = 9
		None = 0
		NonMaskable = 1
		SevenSamples = 7
		SixSamples = 6
		SixteenSamples = &H10
		TenSamples = 10
		ThirteenSamples = 13
		ThreeSamples = 3
		TwelveSamples = 12
		TwoSamples = 2
	End Enum
	Public Enum PlaneIntersectionType
		Front = 0
		Back = 1
		Intersecting = 2
	End Enum
	Public Enum PresentInterval
		[Default] = 0
		Four = 8
		Immediate = -2147483648
		One = 1
		Three = 4
		Two = 2
	End Enum
	<Flags()> _
	Public Enum PresentOptions
		DeviceClip = 4
		DiscardDepthStencil = 2
		None = 0
		Video = &H10
	End Enum
	Public Enum PrimitiveType
		LineList = 2
		LineStrip = 3
		PointList = 1
		TriangleFan = 6
		TriangleList = 4
		TriangleStrip = 5
	End Enum
	<Flags()> _
	Public Enum QueryUsages
		Filter = &H20000
		None = 0
		PostPixelShaderBlending = &H80000
		SrgbRead = &H10000
		SrgbWrite = &H40000
		VertexTexture = &H100000
		WrapAndMip = &H200000
	End Enum
	Public Enum RenderTargetUsage
		DiscardContents = 0
		PlatformContents = 2
		PreserveContents = 1
	End Enum
	Public Enum ResourceType
		DepthStencilBuffer = 1
		IndexBuffer = 7
		RenderTarget = 8
		Texture2D = 3
		Texture3D = 4
		Texture3DVolume = 2
		TextureCube = 5
		VertexBuffer = 6
	End Enum
	Public Enum SaveStateMode
		None = 0
		SaveState = 1
	End Enum
	<Flags()> _
	Public Enum SetDataOptions
		Discard = &H2000
		None = 0
		NoOverwrite = &H1000
	End Enum
	Public Enum ShaderProfile
		PS_1_1 = 0
		PS_1_2 = 1
		PS_1_3 = 2
		PS_1_4 = 3
		PS_2_0 = 4
		PS_2_A = 5
		PS_2_B = 6
		PS_2_SW = 7
		PS_3_0 = 8
		Unknown = &H10
		VS_1_1 = 10
		VS_2_0 = 11
		VS_2_A = 12
		VS_2_SW = 13
		VS_3_0 = 14
		XPS_3_0 = 9
		XVS_3_0 = 15
	End Enum
	Public Enum ShaderRegisterSet
		[Boolean] = 0
		Float4 = 2
		Int4 = 1
		Sampler = 3
	End Enum
	Public Enum SpriteBlendMode
		Additive = 2
		AlphaBlend = 1
		None = 0
	End Enum
	<Flags()> _
	Public Enum SpriteEffects
		FlipHorizontally = 1
		FlipVertically = &H100
		None = 0
	End Enum
	Public Enum SpriteSortMode
		BackToFront = 3
		Deferred = 1
		FrontToBack = 4
		Immediate = 0
		Texture = 2
	End Enum
	Public Enum StencilOperation
		Decrement = 8
		DecrementSaturation = 5
		Increment = 7
		IncrementSaturation = 4
		Invert = 6
		Keep = 1
		Replace = 3
		Zero = 2
	End Enum
	Public Enum SurfaceFormat
		Alpha8 = 15
		Bgr233 = &H10
		Bgr24 = &H11
		Bgr32 = 2
		Bgr444 = 13
		Bgr555 = 11
		Bgr565 = 9
		Bgra1010102 = 3
		Bgra2338 = 14
		Bgra5551 = 12
		Color = 1
		Depth15Stencil1 = &H38
		Depth16 = &H36
		Depth24 = &H33
		Depth24Stencil4 = 50
		Depth24Stencil8 = &H30
		Depth24Stencil8Single = &H31
		Depth32 = &H34
		Dxt1 = &H1C
		Dxt2 = &H1D
		Dxt3 = 30
		Dxt4 = &H1F
		Dxt5 = &H20
		HalfSingle = &H19
		HalfVector2 = &H1A
		HalfVector4 = &H1B
		Luminance16 = &H22
		Luminance8 = &H21
		LuminanceAlph16 = &H24
		LuminanceAlph8 = &H23
		Mutli2Bgra32 = &H2F
		NormalizedAlpha1010102 = &H29
		NormalizedByte2 = &H12
		NormalizedByte2Computed = &H2A
		NormalizedByte4 = &H13
		NormalizedShort2 = 20
		NormalizedShort4 = &H15
		Palette8 = &H25
		PaletteAlph16 = &H26
		Rg32 = 7
		Rgb32 = 5
		Rgba1010102 = 6
		Rgba32 = 4
		Rgba64 = 8
		[Single] = &H16
		Unknown = -1
		Vector2 = &H17
		Vector4 = &H18
		VideoGrGb = &H2D
		VideoRgBg = &H2E
		VideoUyVy = &H2C
		VideoYuYv = &H2B
	End Enum
	Public Enum SwapEffect
		Copy = 3
		[Default] = 0
		Discard = 1
		Flip = 2
	End Enum
	Public Enum TextureAddressMode
		Border = 4
		Clamp = 3
		Mirror = 2
		MirrorOnce = 5
		Wrap = 1
	End Enum
	Public Enum TextureFilter
		Anisotropic = 3
		GaussianQuad = 7
		Linear = 2
		None = 0
		Point = 1
		PyramidalQuad = 6
	End Enum
	<Flags()> _
	Public Enum TextureUsage
		AutoGenerateMipMap = &H400
		Linear = &H40000000
		None = 0
		Tiled = -2147483648
	End Enum
	<Flags()> _
	Public Enum TextureWrapCoordinates
		None = 0
		One = 2
		Three = 8
		Two = 4
		Zero = 1
	End Enum
	Public Enum VertexElementFormat
		Byte4 = 5
		Color = 4
		HalfVector2 = 15
		HalfVector4 = &H10
		Normalized101010 = 14
		NormalizedShort2 = 9
		NormalizedShort4 = 10
		Rg32 = 11
		Rgba32 = 8
		Rgba64 = 12
		Short2 = 6
		Short4 = 7
		[Single] = 0
		UInt101010 = 13
		Unused = &H11
		Vector2 = 1
		Vector3 = 2
		Vector4 = 3
	End Enum
	Public Enum VertexElementMethod
		[Default] = 0
		LookUp = 5
		LookUpPresampled = 6
		UV = 4
	End Enum
	Public Enum VertexElementUsage
		Binormal = 7
		BlendIndices = 2
		BlendWeight = 1
		Color = 10
		Depth = 12
		Fog = 11
		Normal = 3
		PointSize = 4
		Position = 0
		Sample = 13
		Tangent = 6
		TessellateFactor = 8
		TextureCoordinate = 5
	End Enum

End Namespace
Namespace sl3audio

End Namespace
Namespace sl3math

End Namespace
Namespace sl3shapes
	Public Enum ContainmentType
		Disjoint = 0
		Contains = 1
		Intersects = 2
	End Enum
	Public Enum CurveContinuity
		Smooth = 0
		[Step] = 1
	End Enum

End Namespace
Namespace sl3game

End Namespace
Namespace sl3enum
End Namespace